There are a wide range of messaging applications, such as email applications, text messaging applications and messaging applications within social network applications. Such messaging applications provide communication systems, protocols, and clients that supply users with a variety of interoperable choices. This myriad of options can prove daunting for users, most of whom select a small subset of options across desktop, portable, and mobile environments. In addition to managing a number of messaging application options that users select, there is often a desire to enforce separate business, home, school, and hobby environments.
With the amount of fraud, phishing, eavesdropping, and other exploits on the Internet, many users are quickly moving towards encrypting their email communications. However, managing encryption keys (e.g., securely creating, storing, and transporting keys) is challenging for most users and deters them from using encryption. This deterrent is compounded if the user needs to maintain separate usage environments (e.g., business and hobby) on the same computer.
Installable email client applications (e.g., MS Outlook® or Apple Mail®) have simplified the encryption process for users by implementing secure messaging protocols (e.g., S/MIME, OpenPGP, etc.). However, Web Browser-Based Applications (a.k.a., Web Clients) have trouble implementing end-to-end encryption and secure key management due to an architecture consisting of server-side web pages and typically the absence of an Application Program Interface (API) to enable third parties to add custom encryption services. This leaves web mail users without a secure email solution. Moreover, data entry within a messaging application may be subject to automatic backup and eavesdropping that may comprise communications.
Accordingly, there is a need for techniques to augment a messaging application with cryptographic functions.